//package com.daocao.hua.activity;
//
//import android.content.ComponentName;
//import android.content.Context;
//import android.content.Intent;
//import android.net.Uri;
//import android.os.Bundle;
//import android.text.TextUtils;
//import android.view.View;
//import android.webkit.WebChromeClient;
//import android.webkit.WebView;
//import android.widget.TextView;
//
//import com.daocao.hua.R;
//import com.daocao.hua.api.callback.RepayInfoContract;
//import com.daocao.hua.api.requestInfo.RepayInfoRequest;
//import com.daocao.hua.constant.Const;
//import com.daocao.hua.event.AlipayUserEvent;
//import com.daocao.hua.event.ClosePayActEvent;
//import com.daocao.hua.event.OnHomeEventMsg;
//import com.daocao.hua.model.ConfirmDilaogModel;
//import com.daocao.hua.model.PayOrderModel;
//import com.daocao.hua.model.PayWayModel;
//import com.daocao.hua.model.RechargeModel;
//import com.daocao.hua.model.RepayModel;
//import com.daocao.hua.model.RepayStatusDialogModel;
//import com.daocao.hua.util.ToastUtil;
//import com.daocao.hua.util.UI;
//import com.daocao.hua.view.CircularProgress;
//import com.daocao.hua.view.Dialog;
//import com.daocao.hua.view.LastInputEditText;
//
//import org.greenrobot.eventbus.EventBus;
//import org.greenrobot.eventbus.Subscribe;
//import org.greenrobot.eventbus.ThreadMode;
//
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
//import butterknife.BindView;
//import butterknife.ButterKnife;
//import butterknife.OnClick;
//import butterknife.Unbinder;
//
///**
// * Created by xsooy-pc on 2017/9/4.
// */
//
//public class RechargeMoneyActivity extends BaseActivity implements RepayInfoContract.View {
//    @BindView(R.id.txt_recharge_tips)
//    TextView txtRechargeTips;
//    @BindView(R.id.edit_recharge_money)
//    LastInputEditText editRechargeMoney;
//    @BindView(R.id.txt_alipay_user)
//    TextView txtAlipayUser;
//    @BindView(R.id.txt_tips)
//    TextView txtTips;
//    @BindView(R.id.progressBar)
//    CircularProgress loading;
//    @BindView(R.id.btn_recharge)
//    TextView btnRecharge;
//    private Unbinder unbinder;
//    private RepayInfoRequest api;
//    private WebView mWebView;
//    private ArrayList<String> explainList;
//    private String dealId;
//    private String mMoney;
//    private float newMoney;
//    private String overdue;
//    private float balance;
//    private float Month_need_all_repay_money;
//    private static final String ACTION = "RECHARGE";
//    private String payment_id;
//    private String selectWays;
//    private String notice_sn;
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setBaseContentView(R.layout.activity_recharge_tips);
//        unbinder = ButterKnife.bind(this);
//        baseInitView(this, "RechargeMoneyActivity", Const.ViewType.ACTIVITY);
//        api = RepayInfoRequest.create();
//        api.attachView(this);
//        setBackIntent();
//        setTitleText("充值还款");
//        String alipay = getIntent().getStringExtra("alipay");
//        if (TextUtils.isEmpty(alipay)) {
//            alipay = "";
//        }
//        txtAlipayUser.setText(alipay);
//        EventBus.getDefault().register(this);
//        api.getRechargeTips();
//        api.getRepayInfo();
//
//
//        init();
//    }
//
//    private void showLoading(boolean b) {
//        if (loading != null) {
//            if (b) {
//                loading.setVisibility(View.VISIBLE);
//            } else {
//                loading.setVisibility(View.GONE);
//            }
//        }
//    }
//
//    private void init() {
//        payment_id = getIntent().getStringExtra("payment_id");
//        selectWays = getIntent().getStringExtra("selectWays");
//
//        if (TextUtils.isEmpty(payment_id)) {
//            api.getPayWay();
//        }
//        mWebView = new WebView(getApplicationContext());
//        mWebView.getSettings().setJavaScriptEnabled(true);
//        mWebView.setWebChromeClient(new WebChromeClient());
//    }
//
//    @Subscribe(threadMode = ThreadMode.MAIN)
//    public void onAlipayUser(AlipayUserEvent msg) {
//        txtAlipayUser.setText(msg.user);
//    }
//
//    @OnClick({R.id.btn_select_user, R.id.btn_recharge})
//    public void onViewClicked(View view) {
//        if (UI.isFastClick()) {
//            return;
//        }
//        switch (view.getId()) {
//
//            case R.id.btn_select_user:
//                Intent intent = new Intent(this, AlipayAddActivity.class);
//                intent.putExtra("alipay", UI.toString(txtAlipayUser));
//                startActivity(intent);
//                overridePendingTransition(R.anim.right_enter, R.anim.left_out);
//                break;
//            case R.id.btn_recharge:
////                if (UI.toInteger(editRechargeMoney) % 5 != 0) {
////                    ToastUtil.makeText(this, "充值金额只能是5的倍数").show();
////                    return;
////                }
//                if (TextUtils.isEmpty(UI.toString(editRechargeMoney))) {
//                    ToastUtil.makeText(this, "充值金额不能为空").show();
//                    return;
//                }
//                if (TextUtils.isEmpty(UI.toString(txtAlipayUser))) {
//                    ToastUtil.makeText(this, "请选择支付宝账号").show();
//                    return;
//                }
//                if (TextUtils.isEmpty(payment_id)) {
//                    api.getPayWay();
//                    return;
//                }
//                api.getPayOrder(ACTION, payment_id, selectWays, UI.toString(editRechargeMoney), UI.toString(txtAlipayUser));
//                break;
//        }
//    }
//
//    @Override
//    protected void onResume() {
//        super.onResume();
//        if (isGotoPay) {
//            isGotoPay = false;
//            api.getRepayDialog();
//        }
//    }
//
//    @Override
//    protected void onDestroy() {
//        super.onDestroy();
//        if (mWebView != null) {
//            mWebView.onPause();
//            mWebView.destroy();
//            mWebView = null;
//        }
//
//        EventBus.getDefault().unregister(this);
//        api.detachView();
//        api = null;
//        unbinder.unbind();
//        unbinder = null;
//    }
//
//    @Override
//    public void showError() {
//
//    }
//
//    @Override
//    public void complete() {
//        showLoading(false);
//    }
//
//    @Override
//    public void onRequestStart() {
//        showLoading(true);
//    }
//
//    @Override
//    public void getRepayInfoSuccess(RepayModel item) {
//
//        dealId = item.getData().getId();
//        Month_need_all_repay_money = item.getData().getMonth_need_all_repay_money();
//        balance = item.getData().getUser_balance();
//        mMoney = item.getData().getNeed_repay_money_format();
//
//        if (!TextUtils.isEmpty(mMoney)) {
//            if (mMoney.contains("￥")) mMoney = mMoney.replace("￥", "");
//            if (mMoney.contains(",")) mMoney = mMoney.replace(",", "");
//        }
//
//
//        overdue = item.getData().getImpose_all_money_format();
////        已逾期XX天   待还金额XX元
//        if (item.getData().getImpose_day() == 0) {
//            UI.setTvHtml(txtTips, R.string.recharge_money_tips_noimpose, "近日待还金额", "￥" + item.getData().getMonth_need_all_repay_money());
//        } else {
//            UI.setTvHtml(txtTips, R.string.recharge_money_tips, "已逾期", item.getData().getImpose_day(), "天&#160;&#160;待还金额", item.getData().getMonth_need_all_repay_money(), "元");
//        }
//        if(TextUtils.isEmpty(mMoney)){
//            return;
//        }
//        if (item.getData().getUser_balance() != 0)
//            newMoney = Float.parseFloat(mMoney) - item.getData().getUser_balance();
//        else
//            newMoney = Float.parseFloat(mMoney);
//    }
//
//    @Override
//    public void getRechargeTipsSuccess(RechargeModel item) {
//        List<String> explain = item.data;
//        if (explain != null && explain.size() != 0) {
//            StringBuilder builder = new StringBuilder();
//            for (int i = 0; i < explain.size(); i++) {
//                builder.append(explain.get(i) + "\n");
//            }
//            txtRechargeTips.setText(builder);
//        }
//    }
//
//    @Override
//    public void getRepayDialogSuccess(RepayStatusDialogModel item) {
////        "is_alerts": 1,  //是否需要弹窗：0 - 否，1 - 是
//        //订单状态：0 - 待确认、 1 - 失败、 2 - 成功、4 - 无订单
//        explainList = item.explain;
//
//        if (item.order_status == 2) {
//            Map<String, String> map = new HashMap<>();
//            map.put("type", Const.SendType.UPDATE_REPAY);
//            EventBus.getDefault().post(new OnHomeEventMsg(map));
//            ToastUtil.makeText(this, "支付成功").show();
//            finish();
//        } else if (item.order_status == 1) {
//            ToastUtil.makeText(this, "支付失败").show();
//        } else if (item.order_status == 4) {
//            ToastUtil.makeText(this, "支付失败").show();
//        } else if (item.order_status == 0) {
//            notice_sn = item.data.notice_sn;
//            if (item.is_alerts == 0) {
//            } else if (item.is_alerts == 1) {
//                Dialog.showConfirmDialog(this, new Dialog.DialogDefaultClickListener() {
//                    //                确认支付成功
//                    @Override
//                    public void confirm() {
//                        api.confirmDialog(item.data.notice_id, api.SUCCESS);
//                    }
//
//                    //                点击支付失败
//                    @Override
//                    public void cancel() {
//                        Dialog.showDefaultDialog(RechargeMoneyActivity.this, "提示", "确定支付失败吗？", "确定", "返回", false, new Dialog.DialogDefaultClickListener() {
//                            @Override
//                            public void confirm() {
////                            点击返回，显示上一个Dialog;
//                                Dialog.showConfirmDialog(RechargeMoneyActivity.this, new Dialog.DialogDefaultClickListener() {
//                                    @Override
//                                    public void confirm() {
//                                        api.confirmDialog(item.data.notice_id, api.SUCCESS);
//                                    }
//
//                                    @Override
//                                    public void cancel() {
//                                        Dialog.showDefaultDialog(RechargeMoneyActivity.this, "提示", "确定支付失败吗？", "确定", "返回", false, new Dialog.DialogDefaultClickListener() {
//                                            @Override
//                                            public void confirm() {
//
//                                            }
//
//                                            @Override
//                                            public void cancel() {
//                                                api.confirmDialog(item.data.notice_id, api.FAILED);
//                                            }
//                                        });
//                                    }
//                                });
//                            }
//
//                            @Override
//                            public void cancel() {
//                                //                            点击确认，支付失败;
//                                api.confirmDialog(item.data.notice_id, api.FAILED);
//                            }
//                        });
//                    }
//                });
//            }
//        }
//    }
//
//    private boolean isGotoPay = false;
//
//    @Override
//    public void confirmDialogSuccess(ConfirmDilaogModel item, String confirm) {
//        if (confirm.equals(api.FAILED)) {
////            finish();
//        } else if (confirm.equals(api.SUCCESS)) {
//            gotoShenhe(explainList);
//        }
//    }
//
//    @Override
//    public void getPayWaySuccess(PayWayModel item) {
//        selectWays = item.data.get(0).payment_class_name;
//        payment_id = item.data.get(0).payment_id + "";
//    }
//
//
//    @Override
//    public void getPayOrderSuccess(PayOrderModel data) {
//        String url = data.data.alipay_money_links;
////        "go_alipay": 1   // 是否直接调整至支付宝：0 - 否，1 - 是
//        isGotoPay = true;
//        if (data.data.go_alipay.equals("1")) {
//            if (!checkAliPayInstalled(this)) {
//                mWebView.loadUrl(data.data.alipay_money_links);
//                return;
//            }
//            Intent intent = new Intent();
//            intent.setAction("android.intent.action.VIEW");
//            Uri content_url = Uri.parse(Const.ALIPAY_START + data.data.alipay_money_links + Const.ALIPAY_END);
//            intent.setData(content_url);
//            startActivity(intent);
//        } else if (data.data.go_alipay.equals("0")) {
//            mWebView.loadUrl(url);
//        }
//    }
//
//    private void gotoShenhe(ArrayList<String> explain) {
//        if (TextUtils.isEmpty(dealId)) {
//            api.getRepayInfo();
//            return;
//        }
//        EventBus.getDefault().post(new ClosePayActEvent());
//        Intent intent = new Intent(this, ShenHeActivity.class);
//        intent.putExtra("deal_id", dealId);
//        intent.putExtra("money", newMoney + "");
//        intent.putExtra("overdue", overdue);
//        intent.putExtra("order", notice_sn);
//        intent.putExtra("total_money", (int) Month_need_all_repay_money);
//        intent.putExtra("balance", balance);
//        intent.putExtra("isRecharge", true);
//        intent.putStringArrayListExtra("explain", explain);
//        startActivity(intent);
//        overridePendingTransition(R.anim.right_enter, R.anim.left_out);
//        finish();
//    }
//
//    private boolean checkAliPayInstalled(Context context) {
//        Uri uri = Uri.parse("alipays://platformapi/startApp");
//        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
//        ComponentName componentName = intent.resolveActivity(context.getPackageManager());
//        return componentName != null;
//    }
//}
